package com.naiterui.ehp.bp.constants;

import java.util.Arrays;

/**
 * 公众号二维码业务类型枚举
 *
 * @author zhoupeipei
 * @date 2019-07-01 16:47
 * @since 1.0.0
 */
public enum PaQrCodeEnum {
    /**
     * 医生邀请患者二维码
     */
    INVITE("invite_", "QR_LIMIT_STR_SCENE"),
    SIGN_IN("sign_", "QR_LIMIT_STR_SCENE");

    /**
     * 业务类型
     */
    private String value;

    /**
     * <P>临时二维码有效期30天，永久二维码有数量限制</P>
     * <P>QR_SCENE为临时的整型参数值[整型参数值不利于业务场景区分，暂不支持]</P>
     * <P>QR_STR_SCENE为临时的字符串参数值</P>
     * <P>QR_LIMIT_SCENE为永久的整型参数值[整型参数值不利于业务场景区分，暂不支持]</P>
     * QR_LIMIT_STR_SCENE为永久的字符串参数值
     */
    private String actionName;

    PaQrCodeEnum(String value, String actionName) {
        this.value = value;
        this.actionName = actionName;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getActionName() {
        return actionName;
    }

    public void setName(String actionName) {
        this.actionName = actionName;
    }

    /**
     * 根据类型值查找枚举
     *
     * @param value
     *
     * @return
     */
    public static PaQrCodeEnum getByValue(String value) {
        return Arrays.stream(PaQrCodeEnum.values()).filter(code -> code.getValue().equals(value)).findFirst().get();
    }

}
